package io.github.common.enums;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 枚举类型，枚举类型默认返回对象类型，不要返回枚举值名称
 *
 * @param <K> parameter
 * @param <V> parameter
 * @author haijun
 * @version 1.0.0
 * @email "1424132610@qq.com"
 * @date 2024.10.19 11:18
 * @since 1.0.0
 */
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public interface SerializeEnum<K, V> {

    /**
     * VALUE_FILED_NAME
     */
    String VALUE_FILED_NAME = "value";

    /**
     * Gets key *
     *
     * @return the key
     * @since 1.0.0
     */
    K getKey();

    /**
     * Gets value *
     *
     * @return the value
     * @since 1.0.0
     */
    V getValue();
}
